package com.mydesign.demo.util;

//import it.sauronsoftware.jave.Encoder;
//import it.sauronsoftware.jave.MultimediaInfo;

import java.io.File;
import java.io.FileOutputStream;
import java.util.UUID;

/**
 * 文件操作的工具类
 * @author 荣荣
 */
public class FileUtil {

	public static void uploadFile(byte[] file, String filePath, String fileName) throws Exception {
		File targetFile = new File(filePath);
		if (!targetFile.exists()) {
			targetFile.mkdirs();
		}
		FileOutputStream out = new FileOutputStream(filePath + fileName);
		out.write(file);
		out.flush();
		out.close();
	}

	public static boolean deleteFile(String fileName) {
		File file = new File(fileName);
		// 如果文件路径所对应的文件存在，并且是一个文件，则直接删除
		if (file.exists() && file.isFile()) {
			if (file.delete()) {
				return true;
			} else {
				return false;
			}
		} else {
			return false;
		}
	}

	public static String renameToUUID(String fileName) {
		return UUID.randomUUID() + "." + fileName.substring(fileName.lastIndexOf(".") + 1);
	}


	/**
	 * @Description: 获取视频时长(时分秒)
	 * @author: Hanweihu
	 * @date: 2019/7/30 8:35
	 * @params: [file]
	 * @return: java.lang.String
	 */
//	public static String  ReadVideoTimeMs(MultipartFile file) {
//		Encoder encoder = new Encoder();
//		long ms = 0;
//		try {
//			// 获取文件类型
//			String fileName = file.getContentType();
//			// 获取文件后缀
//			String pref = fileName.indexOf("/") != -1 ? fileName.substring(fileName.lastIndexOf("/") + 1, fileName.length()) : null;
//			String prefix = "." + pref;
//			// 用uuid作为文件名，防止生成的临时文件重复
//			final File excelFile = File.createTempFile(UUID.randomUUID().toString().replace("-", ""), prefix);
//			// MultipartFile to File
//			file.transferTo(excelFile);
//			MultimediaInfo m = encoder.getInfo(excelFile);
//			ms = m.getDuration();
//			//程序结束时，删除临时文件
//			deleteFile(excelFile);
//		} catch (Exception e) {
//			e.printStackTrace();
//		}
//		int ss = 1000;
//		int mi = ss * 60;
//		int hh = mi * 60;
//		int dd = hh * 24;
//
//		long day = ms / dd;
//		long hour = (ms - day * dd) / hh;
//		long minute = (ms - day * dd - hour * hh) / mi;
//		long second = (ms - day * dd - hour * hh - minute * mi) / ss;
//
//		String strHour = hour < 10 ? "0" + hour : "" + hour;//小时
//		String strMinute = minute < 10 ? "0" + minute : "" + minute;//分钟
//		String strSecond = second < 10 ? "0" + second : "" + second;//秒
//		if (strHour.equals("00")) {
//			return strMinute + ":" + strSecond;
//		} else {
//			return strHour + ":" + strMinute + ":" + strSecond;
//		}
//	}

//	public static Long getTime(MultipartFile multipartFile) throws IOException{
//		File file=new File(multipartFile.getOriginalFilename());
//		FileUtils.copyInputStreamToFile(multipartFile.getInputStream(),file);
//		try{
//			MultimediaObject instance=new MultimediaObject(file);
//			MultimediaInfo result=instance.getInfo();
//			long videoTime;
//			videoTime=result.getDuration()/1000;
//			file.delete();
//			return videoTime;
//		}catch (Exception e){
//			e.printStackTrace();
//		}
//		return 0L;
//	}
	/**
	 * @Description: 删除文件
	 * @author: Hanweihu
	 * @date: 2019/7/30 8:35
	 * @params: [files]
	 * @return: void
	 */
	private static void deleteFile(File... files) {
		for (File file : files) {
			if (file.exists()) {
				file.delete();
			}
		}
	}

}
